﻿using System.Runtime.Serialization;

using Game.ExtensibleObjects;
using Game.Map;

namespace Game.Command
{
    [DataContract(Namespace = "game")]
    public abstract class GameAbility : IGameExtension
    {
        public abstract SchedulerCommand GetCommand();

        public virtual bool IsEnabled
        {
            get { return (GetCommand() != null); }
        }

        public IGameMap GameMap { get; set; }

        public IMapField MapField { get; set; }

        public abstract string Url { get; }

    }
}
